﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Devtm.ServiceModel.Proxy
{
   
    public enum ModeTurnOver
    {
        First,
        Rule,
        RobinRound
    }

    public interface IServiceResolver : IEnumerable<IServiceConnector>
    {

        /// <summary>
        /// Gets the contract.
        /// </summary>
        /// <value>The contract.</value>
        Type Contract { get; }

        bool Refresh();

        bool IsEmpty { get; }

        ProxyConfiguration Configuration { get; }

        ModeTurnOver Mode { get; set; }

        IServiceConnector Connector { get; }

        Func<IServiceConnector, bool> ConnectorFilter { get; set; }

    }

}
